const Router = require('koa-router');
const productController = require('../controllers/productController');

const router = new Router({
  prefix: '/api/products'
});

// 处理商品链接
router.post('/', productController.processProductLink);

// 获取商品列表
router.get('/', productController.getProducts);

// 获取单个商品信息
router.get('/:id', productController.getProduct);

// 更新商品信息
router.put('/:id', productController.updateProduct);

// 重新爬取商品信息
router.post('/:id/refresh', productController.refreshProduct);

// 删除商品
router.delete('/:id', productController.deleteProduct);

// 测试高级爬虫
router.post('/test/advanced', productController.testAdvancedScraper);

// 关闭浏览器资源
router.post('/browser/close', productController.closeBrowser);



// 测试智能爬虫
router.post('/test/smart', productController.testSmartScraper);

// 获取爬虫统计信息
router.get('/stats', productController.getScraperStats);

// 关闭所有爬虫资源
router.post('/scrapers/close', productController.closeAllScrapers);

// 步骤二：根据商品名称搜索并更新数据库
router.post('/search-update', productController.searchAndUpdateProduct);

// 根据商品ID自动搜索并更新（使用数据库中的商品名称）
router.post('/:id/auto-update', productController.autoSearchAndUpdate);

// 测试Shoplus API搜索功能
router.post('/test/shoplus', productController.testShoplusSearch);

// 完整流程：TikTok URL → 商品名称 → Shoplus API → 完整商品数据 → 数据库
router.post('/complete-flow', productController.processCompleteFlow);

// 步骤三：获取单个商品的视频数据
router.post('/:id/videos', productController.getProductVideos);

// 步骤三：批量获取多个商品的视频数据
router.post('/batch/videos', productController.batchGetProductVideos);

// 获取商品及其关联的视频数据
router.get('/:id/with-videos', productController.getProductWithVideos);

// 完整流程增强版：包含视频数据获取
router.post('/complete-flow-with-videos', productController.processCompleteFlowWithVideos);

// 完整的三步骤连贯操作：视频链接 → 商品搜索 → 视频数据
router.post('/three-steps-flow', productController.processCompleteThreeStepsFlow);

// 关闭所有服务
router.post('/services/close', productController.closeAllServices);

module.exports = router;